// JavaScript Document
function print_grid(){//Funcion que imprime el jqgrid
	var lastsel;
	$("#list").jqGrid({
		//Direccion url que en la que se va a mostrar el jqGrid
		url:'articulos/backend.php?action=grid', 
		//Determina que los datos sean "json"
		datatype: "json",
		//Determina las columnas que se van a mostrar y con que nombre 
		colNames:['Id','Producto','Proveedor','Uds x Caja','Cajas x Palets', 'EAN'], 
		//Expecificaciones de las columnas que se van a mostrar
		colModel:[ 
			{name:'id_producto',index:'id_producto', width:30, align:"center",editable:false}, 
			{name:'nombre',index:'nombre', width:205, align:"center",editable:false},
			{name:'proveedor',index:'proveedor', width:80, align:"center",editable:false},
			{name:'udsxcaja',index:'udsxcaja', width:40, align:"center",editable:false},
			{name:'unidades_palet',index:'unidades_palet', width:40, align:"center",editable:false},
			{name:'ean',index:'ean', width:60, align:"center",editable:false}
		], 
		//Cantidad de lineas que se van a mostrar en el jqGrid por pagina
		rowNum:15, 
		//Altura del jqGrid
		height:280,
		//Anchura del jqGrid
		width:780,
		//Paginacion 
		pager: '#pager', 
		//columna con la que se va a ordenar el jqGrid la primera vez
		sortname: 'id_producto', 
		autowidth: false,
		//Muesta la cantidad de datos obtenidos y cuales se estan mostrandos
		viewrecords: true, 
		//Metodo de ordenacion
		sortorder: "asc", 
		//titulo del jqGrid
		caption:"Gesti&oacute;n B&aacute;sica de articulos"
		
	}); 
	//Descativa los botones por defecto del jqgrid
	$("#list").jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); 
	//Inserta botones personalizados por nosotros
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Insertar    ",
		buttonicon :'ui-icon-plus',
		onClickButton : function (){ 
			nuevoperfil();
		} 
	}); 
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Modificar   ", 
		buttonicon :'ui-icon-pencil',
		onClickButton : function (){ 
			modificar();
		} 
	}); 
	$("#list").jqGrid('navButtonAdd','#pager',{
		caption: "Borrar    ", 
		buttonicon :'ui-icon-trash',
		onClickButton : function (){ 
			borrar();
		} 
	}); 

	//Muestra la barra de busqueda por campos
	$("#list").jqGrid('filterToolbar'); 
}

//Funcion que imprime el grid cuando el usuario es de tipo "normal"
function print_grid2(){
	var lastsel;
	$("#list").jqGrid({
		//Direccion url que en la que se va a mostrar el jqGrid
		url:'articulos/backend.php?action=grid', 
		//Determina que los datos sean "json"
		datatype: "json", 
		//Determina las columnas que se van a mostrar y con que nombre 
		colNames:['Id','Producto','Proveedor','Uds x Caja','Palets', 'EAN'],
		//Expecificaciones de las columnas que se van a mostrar 
		colModel:[ 
			{name:'id_producto',index:'id_producto', width:30, align:"center",editable:false}, 
			{name:'nombre',index:'nombre', width:205, align:"center",editable:false},
			{name:'proveedor',index:'proveedor', width:80, align:"center",editable:false},
			{name:'udsxcaja',index:'udsxcaja', width:40, align:"center",editable:false},
			{name:'unidades_palet',index:'unidades_palet', width:40, align:"center",editable:false},
			{name:'ean',index:'ean', width:60, align:"center",editable:false}
		], 
		//Cantidad de lineas que se van a mostrar en el jqGrid por pagina
		rowNum:15, 
		//Altura del jqGrid
		height:280,
		//Anchura del jqGrid
		width:780,
		//Paginacion 
		pager: '#pager', 
		//columna con la que se va a ordenar el jqGrid la primera vez
		sortname: 'id_producto', 
		autowidth: false,
		//Muesta la cantidad de datos obtenidos y cuales se estan mostrandos
		viewrecords: true, 
		//Metodo de ordenacion
		sortorder: "asc", 
		//titulo del jqGrid
		caption:"Gesti&oacute;n B&aacute;sica de articulos"
		
	}); 
	//Descativa los botones por defecto del jqgrid
	$("#list").jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); 
	
	//Muestra la barra de busqueda por campos
	$("#list").jqGrid('filterToolbar'); 
}

//Funcion para insertar un nuevo producto
function nuevoperfil(){	//Nueva mesa 
	$.get("articulos/backend.php?action=form", function(data){
		crear_modal(500,345,data);
	});
	return false;
}

function modificar(){ //Modificacion de las caracteristicas del articulo
	var id_producto = $("#list").jqGrid('getGridParam','selrow'); 

	if( id_producto == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		$.get("articulos/backend.php?action=form&id_producto="+id_producto, function(data){
			crear_modal(500,320,data);
			//$("#caracteristicas").multiselect();
		});
	}
	return false;
}


function modificarFila(value){ //Modificacion las unidades del producto
	var id_producto = $("#list").jqGrid('getGridParam','selrow'); 

	if( id_producto == null ){
		alert("Para modificar un registro debe seleccionarlo previamente."); 
	}else{
		$.get("articulos/backend.php?action=modificarFila&id_producto="+id_producto+"&unidades="+value, function(data){
			//crear_modal(400,250,data);
			//$("#caracteristicas").multiselect();	
		$('#list').trigger("reloadGrid");

		});
	}
	return false;
}

function borrar(){	//Borrado el articulo
	var id_producto = $("#list").jqGrid('getGridParam','selrow'); 
	//Comprueba que esta seleccionado un articulo en el jqgrid
	if( id_producto == null ){
		alert("Para borrar un registro debe seleccionarlo previamente."); 
	}else{
		
		if(!confirm("¿Está seguro de que desea eliminar el registro seleccionado?"))
			exit(); 
		//Hace la llamada la funcion borrar en el backend.php
		$.get("articulos/backend.php?action=borrar&id_producto="+id_producto, function(data){
			switch(data){
				case 'tiene_usuarios':{
					alert("No se puede borrar el producto ya que tiene datos asociados");
					break;
				}
				case 'OK':{
					$("#list").trigger("reloadGrid");
					break;
				}
			}
		});
	}
	return false;
}
//Funcion en la que se guada el producto
function guardar(action){
	//Hace llamada a la funcion de guardar del backend.php
	$.post("articulos/backend.php?action="+action,$("#form_datos").serialize(), function(data){
				//controla en caso de error cual es el fallo o devuelve un OK si esta todo correcto
				switch(data){
					case 'nombre':{
						//reiniciar_titulos();
						titulo_error(data);
						break;
					}				
					case 'unidades_palet':{
						//reiniciar_titulos();
						titulo_error(data);
						break;
					}	
						case 'udsxcaja':{
						//reiniciar_titulos();
						titulo_error(data);
						break;
					}
					
					case 'id_proveedor':{
						//reiniciar_titulos();
						titulo_error(data);
						break;
					}
					
					case 'OK':{
						reiniciar_titulos();
						$.modal.close();
						$("#list").trigger("reloadGrid");
						break;						
					}								
				}							

	});
}
//esta funcion comprueba que en los campos solo se aceptan numeros y coma
  function comprobar_solonumeros(evt){

//asignamos el valor de la tecla a keynum
	if(window.event){
		keynum = evt.keyCode;
	}else{
		keynum = evt.which;
	}

	//comprobamos si se encuentra en el rango 
	if((keynum>47 && keynum<58) || (keynum==8) || (keynum==0) || (keynum==13)){
		return true;
	}else{
		return false;
	}
	

}
//Funcion que reinicia los titulos de error
function reiniciar_titulos(){
	contenedores = new Array('nombre');
	
	for(i=0;i<contenedores.length;i++){
		document.getElementById('cont_'+contenedores[i]).style.color= "#000000";
		document.getElementById('cont_'+contenedores[i]).style.fontWeight= "normal";
	}
}
//Funcion que da formato a los titulos en caso de error
function titulo_error(var_cont){
	reiniciar_titulos();
	document.getElementById('cont_'+var_cont).style.color= "red";
	document.getElementById('cont_'+var_cont).style.fontWeight= "bold";			
	document.getElementById('contenedor').innerHTML = "<font color='red'><b>Hay campos err&oacute;neos o sin cumplimentar</b></font>";
}


//Funcion que cierra el modal	
function volver()
{
	$.modal.close();
}
